package io.adrainty.bolee.security.hystrix;

import io.adrainty.bolee.framework.commons.basic.ResponseCode;
import io.adrainty.bolee.framework.commons.basic.ResultDTO;
import io.adrainty.bolee.framework.commons.user.DataSecurityEntity;
import io.adrainty.bolee.framework.commons.user.UserEntity;
import io.adrainty.bolee.framework.commons.utils.ResultDTOUtil;
import io.adrainty.bolee.security.feign.IUserFeign;
import io.adrainty.bolee.security.models.entity.ResourceEntity;
import io.adrainty.bolee.security.models.entity.RoleEntity;
import io.adrainty.bolee.security.models.request.QueryDataSecurityDTO;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * <p>CompanyFeignHystrix</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description CompanyFeignHystrix
 * @since 2025/8/1 14:14:00
 */

@Component
public class UserFeignHystrix implements IUserFeign {

    @Override
    public ResultDTO<UserEntity> usernameLogin(String username, String company) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<UserEntity> mobileLogin(String mobile, String company) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<UserEntity> wechatLogin(String openId, String company) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<List<RoleEntity>> findRoleByUserId(Long userId) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<List<ResourceEntity>> findResourceByUserId(Long userId) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<DataSecurityEntity> userDataSecurity(QueryDataSecurityDTO queryDataSecurityVO) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }

    @Override
    public ResultDTO<UserEntity> findUserById(Long userId) {
        return ResultDTOUtil.error(ResponseCode.INTERFACE_HYSTRIX);
    }
}
